Method and system for performing a web search via a client-side module

ABSTRACT

Disclosed is a method and system for providing to a user rapid access to search resources while interacting with electronic documents by providing for recognition of user initiated search triggers that result in searches being performed with minimal user input or page navigation. A method and system for performing a web search includes detecting, by a client-side module, a user-initiated search interface trigger occurring during display of the web page, the search interface trigger not associated with an input focus of the web page or an input focus of a browser, detecting, by the client-side module, a user-initiated search execution trigger after the detecting of the search interface trigger, and transmitting, by the client-side module to a search entity, in response to the detecting of the search execution trigger, a request for search results related to content associated with the search interface trigger.

RELATED APPLICATIONS

The present disclosure is related to U.S. patent application titledMethod and System for Performing a Web Search.

FIELD

The present disclosure relates to searching, and more specifically to amethod and system for a performing compact search on a web page via aclient-side module.

BACKGROUND

Web pages often include an input focus in the form of a static searchinterface at a fixed location (e.g., at the top) of the web page. Suchinterfaces are also found in browsers. When a user wants to perform asearch, the user types text into the search interface and selects asearch button or presses a particular key (e.g., the Enter key). If,however, the user is further down on a web page, the user typically hasto scroll back to the location (e.g., top) of the web page if the userwants to type an input into the search interface to perform a search, ordirect a cursor off the page and enter text into the browser.

SUMMARY

This disclosure relates to providing to the user rapid access to searchresources while interacting with electronic documents by providing forrecognition of user initiated search triggers that result in searchesbeing performed with minimal user input or page navigation. Thedisclosure herein relates to initiating search triggers in a mannerindependent of any pre-programmed web page or electronic document orbrowser focus area such as a text entry area, embedded link orpre-selected content that is programmed to be user selectable.

In one aspect, a method and system for performing a web search includesdetecting, by a client-side module, a user-initiated search interfacetrigger occurring during display of the web page, the search interfacetrigger not associated with an input focus of the web page or an inputfocus of a browser, detecting, by the client-side module, auser-initiated search execution trigger after the detecting of thesearch interface trigger, and transmitting, by the client-side module toa search entity, in response to the detecting of the search executiontrigger, a request for search results related to content associated withthe search interface trigger.

In one embodiment, the client-side module populates a search interfaceassociated with the client-side module with content associated with theuser-initiated search interface trigger. In one embodiment, searchresults are received from the search entity. The browser can thendisplay the search results. In one embodiment, the detecting of theuser-initiated search interface trigger further includes detecting auser of the computing device selecting text on the web page. In oneembodiment, the detecting of the user-initiated search execution triggerfurther includes detecting the user of the computing device releasing amouse button after selecting text on the web page. In one embodiment,the detecting of the user-initiated search interface trigger furtherincludes detecting a selection of an icon displayed along with the webpage and associated with the search interface. In one embodiment, thedetecting of the user-initiated search interface trigger furtherincludes detecting a user of the computing device typing text while theweb page is displayed.

In one embodiment, the client-side module displays search suggestionsrelated to the text during the populating of the search interface withthe text. In one embodiment, the client-side module is received from theserver computer. In one embodiment, the detecting of the user-initiatedsearch interface trigger further includes detecting selection of apredetermined function key. In one embodiment, the operation of theclient-side module is restricted based on a parameter received from theuser.

These and other aspects and embodiments will be apparent to those ofordinary skill in the art by reference to the following detaileddescription and the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawing figures, which are not to scale, and where like referencenumerals indicate like elements throughout the several views:

FIG. 1 is a block diagram of a computing device communicating with aserver computer over a network in accordance with an embodiment of thepresent disclosure;

FIG. 2 is a flowchart illustrating the steps performed by the servercomputer of FIG. 1 in accordance with an embodiment of the presentdisclosure;

FIG. 3A is a flowchart illustrating steps performed by a client-sidemodule in accordance with an embodiment of the present disclosure;

FIG. 3B is a flowchart illustrating steps performed by a client-sidemodule in accordance with an embodiment of the present disclosure;

FIG. 4 is a block diagram of a client-side module being transmitted fromthe server computer of FIG. 1 in accordance with an embodiment of thepresent disclosure;

FIG. 5 is an example of a display screen depicting a web page having asearch interface trigger in accordance with an embodiment of the presentdisclosure;

FIG. 6 is an example of a display screen depicting a web page having asearch interface in accordance with an embodiment of the presentdisclosure;

FIG. 7 is an example of a display screen depicting a web page having asearch interface and search suggestions in accordance with an embodimentof the present disclosure;

FIG. 8 is an example of a display screen depicting a web page having asearch interface trigger being filled in by a selection of a phrase onthe web page in accordance with an embodiment of the present disclosure;

FIG. 9 is an example of a display screen depicting search results inaccordance with an embodiment of the present disclosure;

FIG. 10 is an example of a display screen depicting a web page having aclient-side module in accordance with an embodiment of the presentdisclosure; and

FIG. 11 is a block diagram illustrating an internal architecture of acomputing device in accordance with an embodiment of the presentdisclosure.

DESCRIPTION OF EMBODIMENTS

Embodiments are now discussed in more detail referring to the drawingsthat accompany the present application. In the accompanying drawings,like and/or corresponding elements are referred to by like referencenumbers.

Various embodiments are disclosed herein; however, it is to beunderstood that the disclosed embodiments are merely illustrative of thedisclosure that can be embodied in various forms. In addition, each ofthe examples given in connection with the various embodiments isintended to be illustrative, and not restrictive. Further, the figuresare not necessarily to scale, some features may be exaggerated to showdetails of particular components (and any size, material and similardetails shown in the figures are intended to be illustrative and notrestrictive). Therefore, specific structural and functional detailsdisclosed herein are not to be interpreted as limiting, but merely as arepresentative basis for teaching one skilled in the art to variouslyemploy the disclosed embodiments.

FIG. 1 is a block diagram of an embodiment of a computing device 105communicating with a server computer 110 over a network 115 such as theInternet. FIG. 2 is a flowchart illustrating an embodiment of the stepsperformed by the server computer 110. The server computer 110 serves aweb page to the computing device 105 in response to a request by thecomputing device 105 for the web page. The computing device 105 uses aweb browser 120 to display the web pages. As is known in the art, webpages, electronic documents, and web browsers may contain an area orportion within which text or other actions may be performed. This isknown in the art as an input focus or a focus area, in other words anarea that may be selected to receive input or instruction by a user.

In one embodiment, the server computer 110 generates a web page (step205) requested by the computing device 105. In one embodiment, theserver computer 110 injects software code 125 into the web page tocreate a web page with injected software code 130. In one embodiment,the software code 125 is stored in a server storage 135 such as adatabase or memory. The server computer 110 transmits the web page withinjected software code 130 to the computing device 105 in response to arequest for the web page (step 215). The browser 120 then parses anddisplays the web page with the injected software code 130 and thecomputing device executes the injected software code 125, using thebrowser or other programs as needed.

It should be noted that the server computer 110 can itself be or beconnected to a search entity, a third party search entity, a third partyserver computer, the computer that injects the software code 130, thecomputer that generates the web page, and/or can perform any combinationof these functions. Further, the server computer 110 may be one computeror different computers associated with the same or different companiesor entities.

FIG. 3A is a flowchart illustrating an embodiment of steps performed bythe browser 120 when executing the software code 130 associated with theweb page. In one embodiment, the web page detects a user-initiatedsearch interface trigger occurring at a location on the web page (Step305). As used herein, examples of user-initiated search interfacetriggers include, but are not limited to: the user pressing keyboardbuttons to spell a word or phrase (typing); the user clicking on aparticular button or symbol (e.g., a [+] sign) displayed by the softwarecode 125 on the web page being viewed; the user highlighting orselecting text via the user's mouse e.g., the user presses the leftmouse button and then moves the cursor over desired text or on items onthe page; the user pressing a predetermined function key (e.g., theControl key or F1 key), interacting with a touch screen, or other userinput techniques. The disclosure herein relates to initiating searchtriggers in a manner independent of any pre-programmed web page orelectronic document or browser focus area such as a text entry area,embedded link or pre-selected content that is programmed to be userselectable. The location on the web page at which the user is initiatingthis search interface trigger is not an input focus of the web page oran input focus of the browser 120, i.e., is not an input box of the webpage 130 or browser 120, therefore permitting the user to initiate asearch function at any location on a web page, without the need toscroll to a specific input box or browser or focus area of the page orbrowser.

In one embodiment, the web page determines if the trigger is typing orhighlighting in step 306. If the trigger is highlighting, the web pageextracts the highlighted information (Step 307). If the trigger istyping, the web page receives the typed text string (Step 308). In oneembodiment, the web page then detects a user-initiated search executiontrigger (Step 310). For example, the user-initiated search executiontrigger can be the user hitting the Enter key upon completion of typingthe desired text string or, if highlighting, the release of a mouse orpointing device button or appropriate touchscreen gesture, touchpadgesture, or cursor control button, after highlighting. This causes thecomputing device 105 to request search results 150 related to the searchterm (Step 315) from a search site on the Internet, which could be theserver computer 110 or a different search engine site. The servercomputer 110 generates the search results and transmits the searchresults 160 to the computing device 105. The computing device 105receives the search results (Step 320) and displays the search results(Step 325) using the browser 120. In one embodiment, the browser 120displays the search results on a separate web page. Alternatively, thebrowser 120 displays the search results in a sidebar.

In one embodiment, the search interface trigger is associated with text.The search interface trigger can be, however, associated with anycontent, such as images, photographs, advertisements, map location orany other content displayed or displayable on a web page.

FIG. 3B is a flowchart illustrating an embodiment in which steps areperformed by the browser 120 when executing the software code 130associated with the web page. In one embodiment, the web page detects asearch interface trigger (Step 330). In one embodiment, once the searchinterface trigger is detected in Step 330, a search interface 140appears on the web page 130 and is populated with text or contentassociated with the search interface trigger (Step 335). For example,suppose the user of the computing device 105 is reading the content of aweb page 130 and scrolls down to the bottom of the web page 130 tofinish reading the article. While reading the last paragraph of the webpage 130, the user comes across a term about which the user desires tofind out more information. Without scrolling back up to the top of theweb page 130 (where there is a search interface), the user insteadmerely generates a search interface trigger or search term entry byeither typing the term or selecting or highlighting the term with themouse. In one embodiment, once this search interface trigger isdetected, the software code 125 displays a search interface 140 on theweb page 130 and populates the search interface 140 with the associatedtyped or highlighted or selected term. In another embodiment, a searchis automatically performed after detecting the search term entry withoutthe display of a search interface.

As another example, in accordance with one or more embodiments, aselectable symbol or icon (shown in the figures herein, by way ofnon-limiting example, as a plus sign ([+]) may be displayed at somelocation on the web page 130. Selection of the symbol or icon causes asearch interface to be displayed in the current display area of thedisplayed web page 130, without needing to scroll up to view the searchinterface at the top of the page or other non-displayed location. Theuser then types in terms to be searched. In one embodiment, thedisplayed selectable symbol (e.g., [+]) may “float” above any locationon a web page and remain so located as the user scrolls up or down (orside to side) the web page. For example, if the symbol is initiallylocated at the top of the web page, and if the user scrolls down the webpage, the symbol remains fixed so that it remains displayed at the topof the displayed portion of the web page. Thus, the user would not haveto scroll back up the web page to click on this symbol because itremains stationary on the display regardless of scrolling of the page.

The software code 125 then detects a search execution trigger (Step340)—the user hitting the Enter key (return) or selecting a Searchbutton associated with the search interface 140. Alternately, ifhighlighting, the release of a mouse or pointing device button afterhighlighting could be the search execution trigger. This causes thecomputing device 105 to request search results 150 related to the searchterm (Step 345) from a search site on the Internet, which could be theserver computer 110 or a different search engine or site. The servercomputer 110 generates the search results and transmits the searchresults 160 to the computing device 105. The computing device 105receives the search results (Step 350) and displays the search results(Step 355) using the browser 120. In one embodiment, the browser 120displays the search results on a separate web page. Alternatively, thebrowser 120 displays the search results in a sidebar, child window, or adifferent browser tab.

In another embodiment, a client-side module 405 performs the functionsdescribed above with respect to the injected software code 125. Theclient-side module 405 enables this functionality to be available on anyweb page to which the user navigates.

Examples of a client-side module 405 include a modified browser (e.g.,Browser Plus™ developed by Yahoo! Inc.), a native or downloaded toolbar,a plug-in, an ActiveX control, a sidebar, or any type of executablecoding technique that might be used on a computing device to control anddetect the actions described herein. The client-side module 405 may bewritten in, for example, JavaScript or may be compiled code. In oneembodiment, the server computer 110 transmits a client-side module 405to the computing device 105. In one embodiment, the computing device 105stores the client-side module 405 in a storage 410 such as a memory. Theuser of the computing device 105 uses the browser 120 to navigate to aparticular web page 415 or document. In one embodiment, the client-sidemodule 405 automatically causes a search interface 420 to be displayedon the web page 120. For example, the client-side module 405 may bedisplayed as a toolbar search box on the browser 120. Therefore, thissearch capability is available on any web page navigated to by the useror other document. When a search interface trigger occurs (e.g., theuser types or highlights a term while viewing a portion of a web page),the term is automatically entered into the search interface 420. Whenthe user hits Enter or causes the execution of any other type of searchexecution trigger as set forth herein or otherwise contemplated, arequest for search results 430 is transmitted to the server computer110. The server computer 110 then transmits search results 435 to thecomputing device 105 for display on the browser 120.

Although the user-initiated search interface trigger is described asbeing associated with a web page, the client-side module 405 may alsodetect the user's interactions with any document or content displayed,in other words the functions and features herein are not limited to webpages but to any document or content that may be displayed to a user ora computing device. For example, if a user is viewing a document via aword processor or a non-editable portable document format (PDF)document, the user can initiate a search interface trigger related to,for example, a selected word or term in the document. The client-sidemodule will then perform the functions described herein to conduct asearch of the selected word or term by, e.g., opening a browser windowand displaying search results associated with the search, or in anyother manner described herein.

In one embodiment, as the user is typing in text or selecting a term(i.e., as a search interface trigger is occurring), search suggestionsor recommendations appear (e.g., below the search interface 420). In oneembodiment, the browser 120 is transmitting the entered search term tothe server computer 110 and the server computer 110 returns searchsuggestions/recommendations. These search suggestions/recommendationscan change as more of the search term or terms are entered/selected bythe user.

An embodiment of pseudocode for the steps shown in the example of FIG. 3is below:

Compact_Search_Obj:  Initialize:   Listen to Mouse Event   Listen toKeypress Event  If Keypress Event Triggerred   If the Focused Element isNot other Input (e.g. textbox, textarea, Iframe Content-Editable)    IfKeypressed is not function key     Show the compact search interface    Add the Character to the search text box    Else If Keypressed isEnter and the text box is Not Empty     Go to Search page    Else IfKeypressed is Esc     Hide the compact search     Clear the search text   Else     Do Nothing    End If   End If  End If  If Mouse clickTriggerred   If Click on the compact search [+] sign / the triggersymbol    Show the compact search   Else If Click on the compact searchwiget (the input box / the button)    If click on button     Go toSearch page    End If   Else If Click anywhere outside the compactsearch widget    hide the compact search   End If  End If  If MouseSelect Triggerred   If Selected Text Found    Populate the Selected Textto the input in the compact search    Show the compact search   End If End If

An example of an embodiment of pseudocode for the client-side module 405is below:

Toolbar installation:  Hook into browser events When browser Start /User load a page:  Initialize:   Listen to Mouse Event   If SelectedText Found    Populate the Selected Text to the toolbar search input  End If

FIG. 5 illustrates the display appearance of a web page 500 having asearch interface trigger 505 as a [+] symbol on the top portion of theweb page 500. FIG. 6 is an embodiment of the display appearance of thesame web page 500 as shown in FIG. 5 (web page 500) but with a searchinterface 610 being displayed in response to the user selecting thesearch interface trigger 505. The user can now enter a search term intothe search interface 610 while the user navigates to any location on theweb page 500.

FIG. 7 shows an embodiment of the web page 500 in which the user hastyped the text string “au” while viewing the displayed webpage. The userperforms this typing without having to have navigated to the searchinterface window (input focus). In other words, while browsing, andregardless of cursor position, the user may start to type, and this isdetected as a search interface trigger. Search recommendations 710 aredisplayed in response to the receipt of the search term “au”. Thus, a“speculative” or predictive search result (one or more searchrecommendations) for a search query or term is provided prior tofinalization of the search query. The speculative search result isprovided to the user for the not-yet-submitted search query prior toreceiving an indication from the client node that the search query iscompletely formed, i.e., prior to detecting the search executiontrigger. As the use continues to formulate the search query, a newspeculative search result may be provided to the user. One suchtechnique of predictive or speculative search recommendation isdescribed in U.S. Pat. No. 7,672,932.

FIG. 8 is an embodiment of the web page 500 in which the user hasselected a phrase “Lafourche Parish” 805 using the mouse. The selectionof the phrase 805 is a search interface trigger and, as a result of theselection, the phrase 805 is automatically provided as input to thesearch interface 810. In other words, while browsing, the user mayhighlight, and this is detected as a user-initiated search interfacetrigger. The user then performs a search execution trigger, which canbe, for example, selecting the “web search” button to the right of thesearch interface 810 or by hitting the Enter key. FIG. 9 shows anembodiment of search results 900 for the phrase 805.

FIG. 10 is an embodiment of a web page 1005 having a client-side module1010. In the embodiment shown, the client-side module 1010 is a toolbar.The user selects a phrase 1015 on the web page 1005 and, once theselection is complete, e.g., the user releases the mouse button or ifusing the Shift and arrow keys when the Shift key is released, thephrase is automatically input into the toolbar search window 1010 orjust sent to the desired search location.

In one embodiment, the client-side module 405 enables restrictions to beplaced on the search interface and/or search functionality. In oneembodiment, the user can turn on or off the search interface andfunctionality described herein. In another embodiment, the user cantailor the search interface and functionality (e.g., only detect thesearch interface trigger on predetermined web pages and/or only allowthe search interface 420 to appear on predetermined web pages).

FIG. 11 is a block diagram illustrating an internal architecture of anexample of a computing device, such as server computer 110 and/orcomputing device 105, in accordance with one or more embodiments of thepresent disclosure. A computing device as referred to herein refers toany device with a processor capable of executing logic or codedinstructions, and could be a server, personal computer, set top box,smart phone, pad computer or media device, to name a few such devices.As shown in the example of FIG. 11, internal architecture 1100 includesone or more processing units (also referred to herein as CPUs) 1112,which interface with at least one computer bus 1102. Also interfacingwith computer bus 1102 are persistent storage medium/media 1106, networkinterface 1114, memory 1104, e.g., random access memory (RAM), run-timetransient memory, read only memory (ROM), etc., media disk driveinterface 1108 as an interface for a drive that can read and/or write tomedia including removable media such as floppy, CD-ROM, DVD, etc. media,display interface 1110 as interface for a monitor or other displaydevice, keyboard interface 1116 as interface for a keyboard, pointingdevice interface 1118 as an interface for a mouse or other pointingdevice, and miscellaneous other interfaces not shown individually, suchas parallel and serial port interfaces, a universal serial bus (USB)interface, and the like.

Memory 1104 interfaces with computer bus 1102 so as to provideinformation stored in memory 1104 to CPU 1112 during execution ofsoftware programs such as an operating system, application programs,device drivers, and software modules that comprise program code, and/orcomputer-executable process steps, incorporating functionality describedherein, e.g., one or more of process flows described herein. CPU 1112first loads computer-executable process steps from storage, e.g., memory1104, storage medium/media 1106, removable media drive, and/or otherstorage device. CPU 1112 can then execute the stored process steps inorder to execute the loaded computer-executable process steps. Storeddata, e.g., data stored by a storage device, can be accessed by CPU 1112during the execution of computer-executable process steps.

Persistent storage medium/media 1106 is a computer readable storagemedium(s) that can be used to store software and data, e.g., anoperating system and one or more application programs. Persistentstorage medium/media 1106 can also be used to store device drivers, suchas one or more of a digital camera driver, monitor driver, printerdriver, scanner driver, or other device drivers, web pages, contentfiles, playlists and other files. Persistent storage medium/media 1106can further include program modules and data files used to implement oneor more embodiments of the present disclosure.

For the purposes of this disclosure a computer readable medium storescomputer data, which data can include computer program code that isexecutable by a computer, in machine readable form. By way of example,and not limitation, a computer readable medium may comprise computerreadable storage media, for tangible or fixed storage of data, orcommunication media for transient interpretation of code-containingsignals. Computer readable storage media, as used herein, refers tophysical or tangible storage (as opposed to signals) and includeswithout limitation volatile and non-volatile, removable andnon-removable media implemented in any method or technology for thetangible storage of information such as computer-readable instructions,data structures, program modules or other data. Computer readablestorage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM,flash memory or other solid state memory technology, CD-ROM, DVD, orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other physical ormaterial medium which can be used to tangibly store the desiredinformation or data or instructions and which can be accessed by acomputer or processor.

Those skilled in the art will recognize that the methods and systems ofthe present disclosure may be implemented in many manners and as suchare not to be limited by the foregoing exemplary embodiments andexamples. In other words, functional elements being performed by singleor multiple components, in various combinations of hardware and softwareor firmware, and individual functions, may be distributed among softwareapplications at either the client or server or both. In this regard, anynumber of the features of the different embodiments described herein maybe combined into single or multiple embodiments, and alternateembodiments having fewer than, or more than, all of the featuresdescribed herein are possible. Functionality may also be, in whole or inpart, distributed among multiple components, in manners now known or tobecome known. Thus, myriad software/hardware/firmware combinations arepossible in achieving the functions, features, interfaces andpreferences described herein. Moreover, the scope of the presentdisclosure covers conventionally known manners for carrying out thedescribed features and functions and interfaces, as well as thosevariations and modifications that may be made to the hardware orsoftware or firmware components described herein as would be understoodby those skilled in the art now and hereafter.

While the system and method have been described in terms of one or moreembodiments, it is to be understood that the disclosure need not belimited to the disclosed embodiments. It is intended to cover variousmodifications and similar arrangements included within the spirit andscope of the claims, the scope of which should be accorded the broadestinterpretation so as to encompass all such modifications and similarstructures. The present disclosure includes any and all embodiments ofthe following claims.

1. A method comprising: detecting, by a client-side module executing ona computing device, a user-initiated search interface trigger occurringduring display of a web page, the user-initiated search interfacetrigger not associated with an input focus of the web page or an inputfocus of a browser; detecting, by the client-side module, auser-initiated search execution trigger after the detecting of theuser-initiated search interface trigger; and transmitting, by theclient-side module to a search entity, in response to the detecting ofthe user-initiated search execution trigger, a request for searchresults related to content associated with the user-initiated searchinterface trigger.
 2. The method of claim 1 further comprisingpopulating, by the client-side module, a search interface associatedwith the client-side module with content associated with theuser-initiated search interface trigger.
 3. The method of claim 1further comprising receiving, by the computing device from the searchentity, the search results.
 4. The method of claim 3 further comprisingdisplaying, by the browser, the search results.
 5. The method of claim 1wherein the detecting of the user-initiated search interface triggerfurther comprises detecting a user of the computing device selectingtext on the web page.
 6. The method of claim 5 wherein the detecting ofthe user-initiated search execution trigger further comprises detectingthe user of the computing device releasing a mouse button afterselecting text on the web page.
 7. The method of claim 2 wherein thedetecting of the user-initiated search interface trigger furthercomprises detecting a selection of an icon displayed along with the webpage and associated with the search interface.
 8. The method of claim 1wherein the detecting of the user-initiated search interface triggerfurther comprises detecting a user of the computing device typing textwhile the web page is displayed.
 9. The method of claim 2 furthercomprising displaying, by the client-side module, search suggestionsrelated to the text during the populating of the search interface withthe text.
 10. The method of claim 9 wherein the detecting of theuser-initiated search execution trigger further comprises detectingselection of a search suggestion in the displayed search suggestions.11. The method of claim 1 further comprising receiving, by the computingdevice, the client-side module from the server computer.
 12. The methodof claim 1 wherein the detecting of the user-initiated search interfacetrigger further comprises detecting selection of a predeterminedfunction key.
 13. The method of claim 1 wherein the detecting of theuser-initiated search execution trigger further comprises detectingpressing a predetermined key.
 14. The method of claim 2 wherein thedetecting of the user-initiated search execution trigger furthercomprises detecting selecting a search button associated with anddisplayed with the search interface.
 15. The method of claim 1 furthercomprising restricting operation of the client-side module based on aparameter received from the user.
 16. A computer readable storage mediumtangibly storing thereon computer program instructions capable of beingexecuted by a computing device, the computer program instructionsdefining the steps of: detecting a user-initiated search interfacetrigger occurring during display of a web page, the user-initiatedsearch interface trigger not associated with an input focus of the webpage or an input focus of a browser; detecting a user-initiated searchexecution trigger after the detecting of the user-initiated searchinterface trigger; and transmitting, to a search entity, in response tothe detecting of the user-initiated search execution trigger, a requestfor search results related to content associated with the user-initiatedsearch interface trigger.
 17. The computer readable storage medium ofclaim 16 further comprising computer program instructions defining thestep of populating a search interface with text associated with theuser-initiated search interface trigger.
 18. The computer readablestorage medium of claim 16 further comprising computer programinstructions defining the step of receiving, by the computing devicefrom the search entity, the search results.
 19. The computer readablestorage medium of claim 16 wherein the computer program instructionsdefining the step of detecting the user-initiated search interfacetrigger further comprises instructions defining the step of detecting auser of the computing device selecting text on the web page.
 20. Thecomputer readable storage medium of claim 19 wherein the detecting ofthe user-initiated search execution trigger further comprises detectingthe user of the computing device releasing a mouse button afterselecting text on the web page.
 21. The computer readable storage mediumof claim 17 wherein the computer program instructions defining the stepof detecting the user-initiated search interface trigger furthercomprises instructions defining the step of detecting a selection of abutton displayed on the web page and associated with the searchinterface.
 22. The computer readable storage medium of claim 16 whereinthe computer program instructions defining the step of detecting theuser-initiated search interface trigger further comprises instructionsdefining the step of detecting a user of the computing device typingtext while the web page is displayed.
 23. The computer readable storagemedium of claim 16 wherein the computer program instructions definingthe step of detecting the user-initiated search interface triggerfurther comprises instructions defining the step of detecting selectionof a predetermined function key.
 24. The computer readable storagemedium of claim 16 wherein the computer program instructions definingthe step of detecting the user-initiated search execution triggerfurther comprises instructions defining the step of detecting pressing apredetermined key.
 25. The computer readable storage medium of claim 16further comprising instructions restricting operation based on aparameter received from the user.
 26. A method comprising: detecting, bya client-side module executing on a computing device, a user-initiatedsearch interface trigger occurring during display of an electronicdocument, the user-initiated search interface trigger not associatedwith an input focus of the electronic document or an application beingused to view the electronic document; detecting, by the client-sidemodule, a user-initiated search execution trigger after the detecting ofthe user-initiated search interface trigger; and transmitting, by theclient-side module to a search entity, in response to the detecting ofthe user-initiated search execution trigger, a request for searchresults related to content associated with the user-initiated searchinterface trigger.
 27. A method comprising: detecting pressing, by auser viewing a web page displayed by a client computer, of keyboardbuttons to create a text string, the pressing of the keyboard buttonsnot associated with an input focus of the web page or an input focus ofa browser on the client computer; detecting pressing, by the userviewing the web page, of an enter key after the detecting of thepressing of keyboard buttons; and transmitting, to a search entity, inresponse to the detecting of the pressing of the enter key, a searchrequest comprising the text string.
 28. A method comprising: detectingpressing, by a user viewing a web page displayed by a client computer,of a button of a cursor control device associated with the clientcomputer; detecting movement of the cursor control device, the movementresulting in highlighting of text, the highlighting not associated withan input focus of the web page or an input focus of a browser on theclient computer; detecting a release of the button of the cursor controldevice; extracting the highlighted text; and transmitting, to a searchentity, in response to the extracting, a search request for searchresults related to the text.